package com.xnj.file_byte_stream_demo;

import java.io.FileOutputStream;
import java.io.IOException;

// 文件字节输出流，写文件到硬盘
public class FileOutPutStreamTest5 {
    public static void main(String[] args) throws IOException {
        /*
        创建文件字节输出流对象，构造函数中的文件可不存在，会自动创建
        覆盖式写入：每次写入，会覆盖源文件的原本内容
         */
//        FileOutputStream os = new FileOutputStream("src/out.txt");

        /*
        追加式写入：每次写入，不会覆盖源文件的原本内容，而是追加到文件末尾
         */
        FileOutputStream os = new FileOutputStream("src/out.txt", true);


        /*
        写入方式一：
        写入单个字节，write(int b)
         */
        os.write('a');
        os.write(98);
        //因为汉字不止一个字节，所以会被截断，导致文件中乱码
        //os.write('徐');

        /*
        写入方式二：
        一次写入多个字节，write(byte[] b)
         */
        byte[] bytes = "aa我爱你中国".getBytes();
        os.write(bytes);

        /*
        写入换行符： \r\n
         */
        os.write("\r\n".getBytes());

        /*
        写入方式三：
        指定写入的字节个数 write(byte[] b, int off, int len)
         */
        os.write("aa我爱你中国".getBytes(), 2, 9);



        os.close();
    }
}
